package com.saydc.actions.caracteristicas;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import com.saydc.dao.CaracteristicasDAO;
import com.saydc.forms.puestos.generico.CargaPuestoGenericoForm;
import com.saydc.model.Caracteristica;
import com.saydc.model.Evaluacion;
import com.saydc.model.Puesto;

public class AgregarCaracteristicasAction extends DispatchAction {
	
	static final Logger LOG = Logger.getLogger(AgregarCaracteristicasAction.class);
	
	public ActionForward cargar(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		CargaPuestoGenericoForm puestoForm = (CargaPuestoGenericoForm) form;
		Puesto puesto = new Puesto();
		puesto.setDescGenerica('G');
		puesto.setNombrePuesto(puestoForm.getNombre());
		puesto.setEvaluacion(Evaluacion.getTipoEvaluacion(puestoForm.getIdTipoEval()));
		puesto.setRemuneracionMinima(Double.parseDouble(puestoForm.getRemMinima()));
		puesto.setRemuneracionMaxima(Double.parseDouble(puestoForm.getRemMaxima()));
		puesto.setCaracRequeridas(new ArrayList<Caracteristica>());
		request.getSession().setAttribute("puesto", puesto);
		CaracteristicasDAO dao = CaracteristicasDAO.getInstance();
		List<Caracteristica> listaCaracteristicas = dao.getCaracteristicas();
		request.getSession().setAttribute("listaCarac", listaCaracteristicas);
		return mapping.findForward("agregarCaracteristicas");
	}
	
	
	public ActionForward agregar(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		Puesto puesto = (Puesto)request.getSession().getAttribute("puesto");
		CaracteristicasDAO dao = CaracteristicasDAO.getInstance();
		List<Caracteristica> listaCaracteristicas = Caracteristica.getCaracteristicasFaltantes(dao.getCaracteristicas(), puesto.getCaracRequeridas());
		request.getSession().setAttribute("listaCarac", listaCaracteristicas);
		return mapping.findForward("agregarCaracteristicas");
	}
	
}
